home *** CD-ROM | disk | FTP | other *** search
/ Underground / Underground CD1.iso / canal / PCTV098.ZIP / readme.txt < prev   
Encoding:
Text File  |  1998-06-01  |  32.4 KB  |  680 lines

  1. README PcTV v0.98
  2.  
  3.  
  4. [If you don't read french, try the altavista translator 
  5. (www.altavista.digital.com). I hope to translate this readme soon :) ]
  6.  
  7.  
  8. -----------------------------------------------------------------------------
  9. Qu'est ce que PcTV :
  10. -----------------------------------------------------------------------------
  11. Ce projet etait au depart (et il l'est toujours !) un soft de television de 
  12. type 100hz sous DOS en plein ecran qui remplacerait l'execrable soft fourni 
  13. sous Windows 95 avec la carte Miro PCTV. En effet, sous Windows 95, l'image 
  14. est floue et moche parce que le soft filtre trop l'image et gere mal 
  15. l'entrelacement des trames paires et impaires. C'est dommage, car le chip 
  16. BT848 est un excellent composant, tres parametrable, mais pas vraiment facile 
  17. d'acces pour un programmeur.
  18.  
  19. Comme je suis un peu curieux, je me suis amuse a implementer un algorithme 
  20. qui effectue une fonction inverse de cryptage (a double cle) concernant un 
  21. procede d'emission video, et qui etait decrite sur une page web quelque part 
  22. sur Internet, et en partant d'un algorithme existant deja (je remercie au 
  23. passage la personne qui me l'a donne, et qui se reconnaitra). Ce procede 
  24. utilise une cle fixe et une cle variable :
  25.   - PcTV a besoin de la cle fixe, qui doit lui etre fournie sous la forme 
  26. d'un fichier texte appele "key.txt" dans le repertoire de PcTV. Il s'agit 
  27. tout simplement d'un fichier texte contenant 256 lignes, chaque ligne 
  28. comportant un nombre compris entre 0 et 31. Libre a vous d'utiliser les 
  29. valeurs que vous voulez du moment que ces valeurs ne correspondent pas a des 
  30. valeurs utilisees pour la diffusion de chaines de television a peage. Ne me 
  31. demandez pas de tels fichiers, je ne sais pas si ils existent, je n'en 
  32. possede pas, et au cas ou vous en trouveriez je ne suis pas interesse et je 
  33. ne pourrais que formuler l'avertissement suivant : ce logiciel ne doit pas 
  34. etre utilise pour regarder des chaines de television pour lesquelles un 
  35. abonnement est necessaire dans votre pays, et ne doit etre utilise que dans 
  36. un but educatif.
  37.   - pour ce qui est de la cle variable, PcTV se charge de la retrouver tout 
  38. seul comme un grand.
  39.  
  40.  
  41.  
  42. -----------------------------------------------------------------------------
  43. Contenu de l'archive 
  44. -----------------------------------------------------------------------------
  45. L'archive contient :
  46. - pctv.exe : l'executable de PcTV
  47. - cwsdpmi.exe : le serveur DPMI
  48. - readme.txt : ce readme
  49. - changelog.txt : la liste des modifications apportees a PcTV, et les 
  50. evolutions futures
  51.  
  52.  
  53.  
  54. -----------------------------------------------------------------------------
  55. Pourquoi la version 0.9 ?
  56. -----------------------------------------------------------------------------
  57. Parce que PcTV n'est pas termine ! Je souhaite toujours en faire une tele 
  58. 100hz (sans gestion d'algorithme particulier pour ce mode), et y ajouter 
  59. d'autres fonctionnalites (voir changelog.txt)
  60.  
  61.  
  62.  
  63. -----------------------------------------------------------------------------
  64. Configuration necessaire :
  65. -----------------------------------------------------------------------------
  66. PcTV devrait fonctionner sur les machines suivantes :
  67. - Pentium (tous les pentiums). Il faut au moins un P133 avec 512K de cache 
  68. pour obtenir des performances decentes. PcTV est plus ou moins allergique au 
  69. Pentium II dans sa version actuelle ; il fonctionne bien mais environ 2 a 3 
  70. fois plus lentement que sur un Pentium "simple" a la meme frequence. C'est 
  71. totalement incomprehensible et inexplicable ... :-(
  72.  
  73. - 24 Mo de RAM minimum (il consomme environ 16Mo). SDRAM conseillee ...
  74.  
  75. - Une carte TV a base de chip BrookTree BT848A ou BT849A (peut-etre meme une 
  76. BT848 de base). Voici une liste non exhaustive des cartes qui devraient 
  77. fonctionner : Hauppauge Wincast TV, Miro PCTV, STB TV PCI, Diamond DTV2000, 
  78. Videologic Captivator PCI, Smart Video Recorder III, MaxiTV PCI 2. Histoire 
  79. de clarifier les choses les cartes suivantes ne disposent PAS d'un chip BT848 
  80. et donc ne fonctionneront PAS : Miro DC10 & DC20 & DC30, MaxiTV PCI 1, Xpert 
  81. @ ..., Matrox rainbow runner, cartes nVidia RIVA 128. Il n'y aura jamais de 
  82. portage de PcTV sur ces dernieres cartes car ce soft est completement 
  83. specifique a la BT848
  84.  
  85. - Une carte video supportant la norme VESA 2.0, et avec support du frame 
  86. buffer lineaire. Si votre carte n'est pas compatible VESA 2.0 ou que PcTV ne 
  87. fonctionne pas, essayez l'utilitaire "Display Doctor" disponible chez 
  88. www.scitechsoft.com, qui rend la plupart des cartes compatibles VESA 2.0.
  89.  
  90. - Optionnellement, une carte son compatible Sound Blaster 16 (donc une SB16, 
  91. une SB32 ou une SB64). Contrairement a ce qui se dit, seules les vraies Sound 
  92. Blaster de Creative Labs sont compatibles SB16 (a une exception pres), donc 
  93. PcTV ne fonctionnera pas avec les cartes dites "compatibles Sound Blaster" 
  94. (Maxi Sound, etc...). D'autre part, PcTV ne fonctionne pas non plus avec les 
  95. cartes Creative Labs de type Vibra 16. Creative Labs affirme que ces cartes 
  96. sont compatibles SB16 alors que c'est faux (ces cartes n'ont pas de canal DMA 
  97. 16 bits !), et ment a ses clients en invoquant des problemes de gestion DMA 
  98. sur certaines cartes meres ...
  99.  
  100.  
  101.  
  102. -----------------------------------------------------------------------------
  103. Un peu de theorie :
  104. -----------------------------------------------------------------------------
  105. La cle variable possede 32768 combinaisons, et le travail de l'algorithme 
  106. consiste a retrouver le plus vite possible la bonne. L'algorithme repose sur 
  107. le principe suivant : "si deux lignes eloignees l'une de l'autre sur l'image 
  108. initiale se retrouvent cote a cote en appliquant une certaine cle variable, 
  109. alors il y a des chances que cette cle soit la bonne". Bien entendu, deux 
  110. lignes ne suffisent pas pour certifier qu'une cle variable est la bonne. Par 
  111. la suite, j'appelerai ces couples de lignes des "candidates".
  112.  
  113. Mais comment savoir si deux lignes sont cote a cote ? En calculant par 
  114. exemple leur "taux de correlation" : si la somme des valeurs absolues de la 
  115. difference de luminance de chaque pixel des deux lignes est "petite" alors il 
  116. y a des chances que ces lignes soient proches. Le succes de cette methode 
  117. depend du fait que la plupart des lignes de l'image soient relativement 
  118. differentes. C'est en general le cas en video, sauf lorsque l'image est tres 
  119. uniforme (par exemple un fond de couleur), ou lorsqu'il y a des symetries 
  120. verticales (une figure geometrique de couleur uniforme et a bords verticaux). 
  121. En gros, on peut considerer que plus l'image est "diversifiee", mieux ca 
  122. marche.
  123.  
  124. Pour valider une cle variable, il faut donc : 
  125. - selectionner un certain nombre de "candidates" pour un code donne. Cette 
  126. notion s'appelle la "taille de bloc". Plus la taille de bloc est petite, plus 
  127. l'algorithme est rapide, mais moins il est fiable. Une taille de bloc de 10 
  128. correspond a 10 lignes candidates par code variable
  129. - retenir la cle variable qui obtient le meilleur score de correlation pour 
  130. tous ses "candidates" (il suffit de sommer les taux de correlations 
  131. individuels).
  132.  
  133. Bien entendu, le nombre total de "candidates" necessaire est tres superieur a 
  134. la "taille de bloc", et plus le nombre de "candidates" est grand, plus 
  135. l'algorithme est lent, mais il est aussi plus fiable. Il existe des moyens de 
  136. regler le ratio "nombre de candidates" / "taile de bloc" (voir les options de 
  137. la ligne de commande). D'autre part, le nombre de pixels pour calculer les 
  138. taux de correlation est inferieur au nombre de pixels par ligne (option -
  139. step). Bien sur, plus on prend de pixels, plus c'est fiable, mais moins ca va 
  140. vite.
  141.  
  142. Tous ces parametres influent donc enormement sur la vitesse de l'algorithme. 
  143. Pour donner un ordre d'idee, avec une taille de bloc de 12, 800 candidates, 
  144. et 4 pixels sur 16 (pctv -step 3), il faut pour chaque image :
  145. - calculer 800 taux de correlation (soit 800*2*(768*4/16)=307200 pixels a 
  146. traiter)
  147. - scorer 32768*12=393216 possibilites.
  148. Multipliez ca par 25 et ce donne une idee des traitements necessaires pour 
  149. traiter une seconde de video en temps reel.
  150.  
  151. A cela s'ajoute (en 16 bits couleurs) :
  152. - 440k*25 = 11M transferes du bus PCI vers la memoire par la carte BT848
  153. - 11M transferes depuis la memoire vers la carte video.
  154. Ca nous fait 22M/s. L'utilisation d'un bus AGP doit diviser par deux 
  155. l'occupation du bus PCI. L'occupation du bus a un impact non negligeable sur 
  156. les performances de l'algorithme, c'est ce qui explique en partie la perte de 
  157. framerate entre les versions 8, 16 et 32 bits.
  158.  
  159. Ca donne le vertige non ?
  160.  
  161.  
  162.  
  163. -----------------------------------------------------------------------------
  164. Installation :
  165. -----------------------------------------------------------------------------
  166. Parce que PcTV attaque le materiel a un tres bas niveau, il ne fonctionne que 
  167. sous DOS natif. Par DOS natif, j'entends une machine demarree en mode DOS, et 
  168. non pas une session DOS sous Windows 95 que ce soit en fenetre ou en plein 
  169. ecran, ou meme avec des parametres de demarrage speciaux. PcTV ne marchera 
  170. *jamais* sous W95, tout simplement parce qu'il fait appel a des API DOS que 
  171. W95 n'implemente pas.
  172.  
  173. Cependant, si vous demarrez PcTV sous Windows 95, ce dernier sera 
  174. suffisamment "smart" pour s'apercevoir que ce soft ne marche que sous DOS et 
  175. vous proposera une configuration specifique pour demarrer ce programme sous 
  176. DOS (apres reboot) avec les options qui vont bien. Ca fonctionne bien.
  177.  
  178. Donc pour utiliser PcTV, il faudra creer une configuration de demarrage pour 
  179. DOS avec les lignes suivantes dans votre fichier config.sys (memoire XMS) :
  180. DOS=HIGH,UMB
  181. Device=C:\WINDOWS\Himem.Sys
  182. DeviceHigh=C:\WINDOWS\EMM386.Exe NOEMS
  183.  
  184. PcTV fonctionne en mode 32 bits protege. Il utilise donc un serveur DPMI 
  185. (cwsdpmi.exe qui est public) qui doit etre installe dans le meme repertoire 
  186. que PcTV.
  187.  
  188. Ensuite, il faut configurer la carte son Sound Blaster (si necessaire). Deux 
  189. cas sont possibles :
  190. - la carte est "Plug and Play" (SB 16 recente, SB32 ou SB64). Dans ce cas, il 
  191. suffit de lancer l'utilitaire CTCM (fourni avec les drivers Creative Labs) 
  192. avant PcTV. Cet utilitaire configure les registres internes, et de plus 
  193. valorise automatiquement la variable BLASTER dont PcTV se sert pour retrouver 
  194. la configuration de la carte son. Il n'est donc pas utile de valoriser la 
  195. variable BLASTER soit-meme.
  196. - la carte n'est pas "Plug and Play" ; il s'agit donc probablement d'une 
  197. ancienne SoundBlaster 16. Dans ce cas, il faut valoriser correctement la 
  198. variable BLASTER avant de lancer PcTV et ca devrait fonctionner.
  199.  
  200. Bien entendu, le fichier "key.txt" est necessaire. Un bon editeur de fichiers 
  201. et des doigts feront l'affaire.
  202.  
  203.  
  204.  
  205. -----------------------------------------------------------------------------
  206. Lancement :
  207. -----------------------------------------------------------------------------
  208. Il suffit de lancer pctv.exe, et de suivre les instructions. Il est possible 
  209. de sortir a tout moment avec ESC, ou CTRL+C (utiliser ESC de preference).
  210.  
  211.  
  212.  
  213. -----------------------------------------------------------------------------
  214. Performances :
  215. -----------------------------------------------------------------------------
  216. Vaste question ... Les performances dependent de nombreux parametres :
  217. - les options de la ligne de commande : elles permettent de faire varier le 
  218. framerate de 10 a 50 fps au detriment et/ou au benefice de la qualite d'image 
  219. (voir les options de la ligne de commande)
  220. - le PC lui-meme : pour ameliorer les performances je suggere les actions 
  221. suivantes (dans l'ordre decroissant d'importance) :
  222.   - porter le cache de second niveau a 512K,
  223.   - utiliser une carte video AGP,
  224.     - remplacer les barrettes FPM par des SDRAM ou des EDO
  225.     - overclocker le bus (a vos risques et perils)
  226.     - overclocker le pentium (a vos risques et perils)
  227.     - utiliser un pentium MMX. PcTV ne gere pas specifiquement le MMX mais il 
  228. adore leur cache primaire de 16K ; et il semble preferer les pentium MMX aux 
  229. pentium II.
  230. - le choix du mode video utilise : le mode "niveau de gris" est entre 20 et 
  231. 30% plus rapide
  232. - la qualite de la reception : meilleure est la qualite de reception, moins 
  233. l'algorithme se trompe, et donc meilleur est le framerate. Il existe des 
  234. options pour compenser une mauvaise qualite de reception (-btfilt, -btcore, -
  235. subs, -step, -block).
  236.  
  237. La valeur "ideale" du framerate est de 25 img/s (vrai temps reel). Par 
  238. defaut, le programme ne depassera pas cette valeur (si le PC est capable 
  239. d'atteindre ce framerate bien sur). Il est cependant possible de supprimer 
  240. cette limitation (un peu comme sur une 3dfx) juste pour voir a quelle vitesse 
  241. peut aller le PC (voir l'option -bench).
  242.  
  243. A titre indicatif, un P166 avec 512K de cache doit atteindre au moins 30 fps 
  244. avec pctv -vmode 1 -res 3 et au moins 25 fps avec pctv -vmode 2 -res 3. Des 
  245. statistiques sont disponibles en fin d'execution afin de verifier les 
  246. performances obtenues :
  247. - total #frames : nombre total d'image capturees par la carte (25/s avec une 
  248. reception normale)
  249. - total #unscrambled frames : nombre total d'image passees dans l'algorithme 
  250. (25/s est la valeur optimale)
  251. - total #trashed frames : images capturees par la carte, mais jetees parce 
  252. que l'algorithme ne les a pas prises a temps. Une valeur elevee indique que 
  253. l'algorithme ne fait pas de temps reel
  254. - average FPS : vitesse d'affichage moyenne obtenue (<25 fps=pas de temps 
  255. reel, 25 fps=temps reel, >25 fps=meilleur que temps reel en mode "bench").
  256. - raw video FPS : vitesse d'affichage obtenue en mode bench + preview (donc 
  257. avec l'option -bench et sans l'option -skip). C'est une indication de la 
  258. performance de la carte video et du bus PCI/AGP. Les valeurs peuvent etre 
  259. tres elevees. Ex: 220 fps avec -res 3 -vmode 1, indique que le PC peut 
  260. dessiner 768x287x220 = 49 millions de pixels/s lus + 49 millions ecris = 88  
  261. millions de pixels/s (!) en plus des pixels transferes par la carte BT848. 
  262.  
  263.  
  264.  
  265. -----------------------------------------------------------------------------
  266. Options de lancement :
  267. -----------------------------------------------------------------------------
  268. Il existe de tres nombreuses options de lancement, divisees en trois 
  269. categories :
  270.   - les parametres de configuration (choix du standard video, source video, 
  271. source audio, etc ...)
  272.   - les parametres d'ajustement video (luminosite, etc ...)
  273.   - les parametres d'ajustement audio (volume, etc ...)
  274.   - les parametres qui agissent sur l'algorithme. La comprehension et la 
  275. maitrise de ces derniers permet d'agir de maniere tres sensible sur les 
  276. performances de l'algorithme.
  277.  
  278. Ces parametres sont tous decrits comme suit :
  279.  -parm : parametre de type VRAI/FAUX valorise a VRAI (ex: pctv -bench)
  280.  -noparm : parametre de type VRAI/FAUX valorise a FAUX (ex: pctv -nobench)
  281.  -parm[1|2$0] : parametre de type liste de valeurs. 1 et 2 sont les valeurs 
  282. possibles, et 0 est la valeur prise par defaut si le parametre n'est pas 
  283. specifie (ex: pctv -tuner 1)
  284.  -parm[1..100$50] : parametre de type plage de valeurs. 1 et 100 sont les 
  285. bornes de valeurs possibles, et 50 est la valeur prise par defaut si le 
  286. parametre n'est pas specifie (ex : pctv -tuner 1 -freq 42525).
  287.  
  288. Les parametres de lancement peuvent etre specifies comme suit :
  289.  - directement sur la ligne de commande de pctv.exe (ex: pctv -vmode 2 -skip 
  290. 2)
  291.  - dans le fichier de configuration de PcTV (pctv.ini)
  292.  
  293. Le fichier de configuration est un simple fichier texte a creer soit-meme et 
  294. qui doit etre situe dans le meme repertoire que pctv.exe. Il comporte des 
  295. sections contenant chacune une liste d'options a appliquer.
  296. Ex: 
  297. [couleur_et_son]
  298. -vmode 2 -amode 2 -bench
  299. [yuv_direct]
  300. -tuner 0
  301. -vmode 4
  302. -res 1
  303. Les espaces, tabulations et retours chariots sont utilisables comme 
  304. separateurs.
  305. Ex: 
  306. [couleur_et_son] -vmode 2 -amode 2 -bench
  307. [yuv_direct] -tuner 0     -vmode 4 -res 1
  308. ... est un fichier de config correct.
  309. Pour "charger" une section de parametres, il suffit de la specifier sur la 
  310. ligne de commande de PcTV comme suit : pctv -cfg section.
  311. Ex: pctv -cfg couleur_et_son est equivalent a pctv -vmode 2 -amode 2 -bench.
  312.  
  313. Il existe de plus une section dite "par defaut" qui s'applique dans tous les 
  314. cas et avant la section choisie. Elle s'appelle [default].
  315.  
  316. Enfin l'ordre de chargement se fait comme suit :
  317. - section [default], si elle existe
  318. - section choisie par l'option -cfg, si necessaire
  319. - ligne de commande
  320. Ceci signifie qu'il est possible de surcharger un parametre d'une section sur 
  321. une autre ou sur la ligne de commande.
  322. Ex:
  323. [couleur_et_son]
  324. -vmode 2 -amode 2 -bench
  325. [default]
  326. -fnct 2 -bestocc
  327.  
  328. pctv -cfg couleur_et_son -amode 3 est equivalent a pctv -fnct 2 -
  329. bestocc -vmode 2 -amode 3 -bench
  330.  
  331. Voila, tout ceci parait un peu complique, mais en fait c'est tres facile a 
  332. utiliser !
  333.  
  334.  
  335. Description des parametres de configuration :
  336. ---------------------------------------------
  337.  
  338. -iform [1|2|3$1] : "input format" : choix du standard de capture video 
  339. (SECAM=1, PAL-N=2, PAL-BDGHI=3)
  340.  
  341. -tuner [0..7$0] : "tuner/mux selection" : choix du tuner. Les valeurs 
  342. possibles sont les suivantes :
  343.   -tuner 0 ou pas de parametre : pas d'utilisation du tuner. Capture depuis 
  344. l'entree video composite de la carte.
  345.   -tuner 1 : autodetection du tuner. Cette option ne fonctionne qu'avec une 
  346. carte de type MIRO PCTV. Pour les autres modeles de cartes, il faut specifier 
  347. une valeur de tuner entre 2 et 7.
  348.   -tuner 2 : tuner TEMIC PAL
  349.   -tuner 3 : tuner TEMIC PAL-I
  350.   -tuner 4 : tuner TEMIC SECAM
  351.   -tuner 5 : tuner PHILIPS PAL
  352.   -tuner 6 : tuner PHILIPS PAL-I
  353.   -tuner 7 : tuner PHILIPS SECAM
  354.  
  355. -tuneradr [0..15$-1] : pour les tuners recalciltrants, cette option permet de 
  356. forcer son adresse I2C (l'argument est un offset par rapport a 0xc0). Pour 
  357. utilisateurs "experimentes" seulement !
  358.  
  359. -freq [0..99999$"aucune"] : "tuner frequency" : choix de la frequence de 
  360. syntonisation du tuner a exprimer en Mhz multiplies par 100 (ex: -freq 42575 
  361. pour 425.75 Mhz). Des tables de correspondance entre canal VHF/UHF (8 a 69) 
  362. et frequence sont disponibles sur Internet sur les sites specialises dans la 
  363. video.
  364.  
  365. -chan1 a chan20 [1..99999$"aucune"] : "channel frequency" : permet d'associer 
  366. une frequence particuliere a l'un des 20 canaux que PcTV peut memoriser (voir 
  367. l'option -freq). Il est ensuite possible de parcourir ces canaux avec la 
  368. touche TAB. Si l'option -freq n'est pas sur la ligne de commande, qu'un tuner 
  369. est selectionne, et qu'au moins un canal est programme, alors PcTV se 
  370. positionnera automatiquement dessus au demarrage. Les options -chanx rendent 
  371. l'option -freq plus ou moins obsolete.
  372.  
  373. -res [1|2|3$3] : "video resolution" : choix de la resolution d'affichage 
  374. (dans l'ordre croissant de lenteur) :
  375.   -res 1 : 400x300. Cette resolution n'est disponible que sur certaines 
  376. cartes video, et en utilisant le driver UNIVBE (display doctor)
  377.   -res 2 : 640x480
  378.   -res 3 : 800x600. C'est le mode "normal" de fonctionnement.
  379.  
  380. -vmode [1|2|3$1] : "video mode" : choix du mode d'affichage (dans l'ordre 
  381. croissant de lenteur) :
  382.   -vmode 1 : 256 niveaux de gris
  383.   -vmode 2 : 65536 couleurs
  384.   -vmode 3 : mode YUV, 65536 couleurs. Ce mode permet de corriger les 
  385. couleurs fausse et reordonnant les infos de couleurs. A utiliser en 
  386. conjonction avec la touche BACKSPACE qui permet durant l'affichage de choisir 
  387. la phase de couleur initiale (il y a 2 possibilites et PcTV ne peut pas la 
  388. trouver seul).
  389.   -vmode 4 : mode YUV, 65536 couleurs mais avec une meilleure qualite que -
  390. vmode 3 (-vmode 3 a une resolution horizontale divisee par 2). Bien entendu, 
  391. ca se paie en framerate. -vmode 4 est plutot destine a etre utilise avec -
  392. res1, alors que -vmode 3 fonctionne bien avec -res 3.
  393.   -vmode 5 : 16 millions de couleurs. Ce mode n'apporte pas grand chose par 
  394. rapport au mode -vmode 2, et coute cher en ressources CPU.
  395.  
  396. -dscan [0|1|2$0] : "double scan" : -dscan 1 decale l'affichage d'une ligne 
  397. vers le bas, afin de permettre l'utilisation de PcTV avec certaines cartes de 
  398. convertion VGA/TV qui ne prennent qu'une ligne sur deux. -dscan 2 affiche 
  399. chaque ligne en double, ce qui permet de rendre l'image plus lumineuse, mais 
  400. coute cher en fps (entre 5 et 10 de moins). Voir aussi la touche I.
  401.  
  402. -amode [0|1|2$0] : "audio mode" : choix du mode audio. L'entree son 
  403. s'effectue sur l'entree ligne de la sound blaster. Dans le cas d'une source 
  404. video externe (-tuner 0), connecter directement la source audio sur l'entree 
  405. ligne. Sinon (utilisation du tuner de la carte BT848), connecter la sortie 
  406. audio de la carte BT848 (cable fourni avec la carte BT848) sur l'entree ligne 
  407. de la sound blaster. Voyons maintenant les modes disponibles :
  408.   -amode 0 : pas de gestion du son (le parametre -asrc reste cependant actif)
  409.   -amode 1 : gestion du son sans traitement particulier
  410.   -amode 2 : son avec inversion du spectre autour de 12800 Hz 
  411. (echantillonnage a 25600 hz). C'est la methode la plus rapide (perte de 2-3 
  412. fps environ), mais elle ne fonctionne bien que si la carte son echantillonne 
  413. precisement a la frequence demandee. Si ce n'est pas le cas (tres souvent !), 
  414. il y aura des distorsions dans le son, et alors il faudra utiliser le mode 3 
  415. (plus lent, mais beaucoup plus efficace).
  416.   -amode 3 : son avec inversion du spectre autour de 12800 Hz 
  417. (echantillonnage a 44100 hz), et compensation des erreurs d'echantillonnage 
  418. de la carte son (voir parametre -ashift). Ce mode permet d'obtenir un son 
  419. presque parfait (voir aussi -bass, et -treble, et toutes les touches 
  420. associees), mais il est plus lent que le mode 2.
  421.  
  422. -asrc [1..18$1] : "audio source" : selection de la source audio sur la carte 
  423. BT848. La valeur a utiliser est differente pour chaque modele de carte (Miro, 
  424. Hauppage, etc ...). Pour trouver la bonne valeur il suffit de toutes les 
  425. essayer (voir aussi la touche /) !
  426.  
  427. Description des parametres d'ajustement video :
  428. -----------------------------------------------
  429.  
  430. -btdec [0..50$0] : "temporal decimation" : demande a la carte de sauter n 
  431. images sur 50. Ceci peu reduire l'occupation de la bande passante du bus PCI 
  432. au detriment du framerate.
  433.  
  434. -btcore [0|1|2|3$0] : "luma coring'" : remplace les zones sombres par du noir 
  435. sur l'image. Le seuil est reglable (PAS DE CORING=0, CORING CROISSANT=1 a 3). 
  436. Ceci peut ameliorer la qualite de l'image dans des conditions de reception 
  437. difficile.
  438.  
  439. -btrange [0|1$0] : "luma extended range" : commutation en mode "luminance 
  440. etendue". Cela permet d'obtenir des images plus contrastees.
  441.  
  442. -btgamma [0|1$0]  : "gamma correction removal" : commutation de la 
  443. suppression de la correction gamma. Cela permet d'obtenir des images plus 
  444. contrastees a condition d'agir ensuite sur le contraste et la luminosite.
  445.  
  446. -btfilt [0|1|2|3|4$1] : utilisation d'un filtre de dithering (flou) 
  447. horizontaux (PAS DE FILTRE=0, FILTRES CROISSANTS=de 1 a 4). L'ajout d'un 
  448. filtrage important permet de compenser efficacement les problemes dus a une 
  449. mauvaise reception video, ou a l'inverse de rendre l'image tres nette dans le 
  450. cas d'une excellente reception. Remarquez qu'un filtre de niveau 1 est 
  451. applique par defaut.
  452.  
  453. -bright [0..255$128] : "brightness" : reglage de la luminosite.
  454.  
  455. -sat [0..511$80] : "color saturation" : reglage du niveau des couleurs.
  456.  
  457. -satbal [0..237$216] : "color balance" : reglage de la balance des couleurs.
  458.  
  459. -contrast [0..511$216] : "contrast" : reglage du contraste.
  460.  
  461. -crop1 [0..286$0] : "cropping1" : suppression de l'affichage des lignes 
  462. situees au-dessus de la ligne specifiee en partant du haut (0 etant la 
  463. premiere ligne en partant du haut de l'ecran).
  464.  
  465. -crop2 [0..286$0] : "cropping2" : suppression de l'affichage des lignes 
  466. situees au-dessous de la ligne specifiee (0 etant la premiere ligne en 
  467. partant du bas de l'ecran). Ces deux options permettent de supprimer 
  468. certaines parties non utiles de l'image dans le but d'accelerer l'affichage.
  469.  
  470.  
  471. Description des parametres d'ajustement audio :
  472. -----------------------------------------------
  473.  
  474. -gain [0..3|0] : "gain" : modification du gain d'entree de la carte son. Voir 
  475. aussi la touche 5
  476.  
  477. -vol [0..31$10] : "volume" : volume sonore. Voir aussi les touches -/+
  478.  
  479. -bass [0..15$8] : "bass level" : niveau des graves (gere en hardware). Voir 
  480. aussi les touches D/F.
  481.  
  482. -treble [0..15$8] : "treble level" : niveau des aigus (gere en hardware). 
  483. Voir aussi les touches G/H.
  484.  
  485. -ashift [0..512$256] : "sample frequency shift" : decalage autour de la 
  486. frequence d'echantillonnage de la carte (valable uniquement avec l'option -
  487. amode 3). Cette option permet de corriger artificiellement la frequence 
  488. d'echantillonnage de la carte. A faire a l'oreille et par dichotomie (le 
  489. point milieu est a 256). Voir aussi les touches J/K/L/M.
  490.  
  491.  
  492. Description des parametres d'ajustement de l'algorithme :
  493. ---------------------------------------------------------
  494.  
  495. -block [2..32$12] : "block size" : specifie la "taille de bloc". Ce parametre 
  496. permet pratiquement de choisir le framerate. Plus la taille de bloc est 
  497. faible, plus l'algorithme va vite, au detriment de sa fiabilite.
  498.  
  499. -step [1|2|3|4$2] : "pixel step" : traite respectivement 1/16 (-step 1), 1/8, 
  500. 1/4, 1/2 (-step 4) pixels de chaque ligne candidate. Plus le nombre de pixels 
  501. est eleve, plus l'algorithme est fiable, mais plus il est lent.
  502.  
  503. -subs : "pixel sub sampling" : effectue une moyenne de plusieurs pixels 
  504. horizontaux avant correlation. Ceci permet de compenser (comme -btfilt) une 
  505. mauvaise reception.
  506.  
  507. -minocc [0..1000000$0] : "minimum occurrence required" : elimine des 
  508. "candidates" celles qui ne sont pas communes a au moins "n" cles variables. 
  509. Cette option sert a diminuer le nombre de "candidates", au profit de la 
  510. vitesse de l'algorithme. Sa valeur est a determiner par dichotomie.  Le 
  511. nombre de "candidates" trouves est affiche a l'issue de la phase 
  512. d'initialisation.
  513.  
  514. -maxocc [0..1000000$1000000] : "maximum occurrence required" : la meme chose 
  515. dans l'autre sens. Cette fois ci, on souhaite faire augmenter le nombre de 
  516. "candidates".
  517.  
  518. -bestocc : "choose best occurrences" : cette option permet de choisir la 
  519. combinaison ideale, c'est-a-dire celle qui minimise le nombre de lignes 
  520. candidates, et donc d'augmenter la vitesse de l'algorithme. Cependant, cela 
  521. rend le precalcul des tables de correlations tres long. A utiliser 
  522. conjointement avec les options -lim.
  523.  
  524. -mindist [0..286$0] : "minimal distance required" : elimine des "candidates" 
  525. celles dont la distance en pixels est inferieure a la valeur specifiee. Cette 
  526. option sert a componser des erreurs de correlation dues au filtre 
  527. d'interpolation vertical de la BT848 qui ne peut etre desactive. Une valeur 4 
  528. est une bonne valeur, mais l'utilisation de ce parametre augmente le nombre 
  529. de "candidates".
  530.  
  531. -rbcheck : "red/blue error check" : permet d'eliminer des "candidates" les 
  532. lignes bleues ou rouges provoquees par l'utilisation de cles qui perturbent 
  533. la sequence de chrominance (SECAM uniquement). Celles-ci peuvent etre mal 
  534. correllees car leur luminance n'est pas au bon niveau.
  535.  
  536. -rbfilt : "red/blue error filter" : permet de ne pas afficher les lignes 
  537. bleues ou rouges provoquees par l'utilisation de cles qui perturbent la 
  538. sequence de chrominance (SECAM uniquement).
  539.  
  540. -fnct [1|2$1] : "correlation function" : (abs(x1-x2) pour 1, abs(x1-x2)^2 
  541. pour 2). A experimenter (pas d'impact sur la vitesse de l'algorithme). La 
  542. valeur 2 PERMET DE GAGNER DE 5 A 10 FPS, mais fait plus d'erreurs dans 
  543. certains cas.
  544.  
  545. -lim1 [0..286|96] : "limit1" : suppression de la liste des "candidates" des 
  546. lignes situees au-dessus de la ligne specifiee en partant du haut (0 etant la 
  547. premiere ligne en partant du haut de l'ecran).
  548.  
  549. -lim2 [0..286|96] : "limit2" : suppression de la liste des "candidates" des 
  550. lignes situees au-dessous de la ligne specifiee en partant du bas (0 etant la 
  551. premiere ligne en partant du bas de l'ecran).
  552.  
  553. -lim3 et -lim4 fontionnent comme -lim1 et -lim2, ils permettent de 
  554. selectionner une seconde plage sur l'image.
  555.  
  556.  
  557. Autres parametres :
  558. -------------------
  559.  
  560. -bench : "benchmark" : suppression de la limitation a 25 img/s afin de 
  561. determiner les performances du PC.
  562.  
  563. -skip[0|1|2$0] : "skip to ..." : passe directement en mode previsualisation 
  564. (-skip 1), ou affiche directement la video transformee par l'algorithme (-
  565. skip 2).
  566.  
  567. -trace : "trace" : trace la sequence de cles variables trouvees dans un 
  568. fichier nomme "trace.txt".
  569.  
  570. -key [0..9$0] : "keyfile selection" : permet de choisir un autre fichier cle 
  571. que le fichier key.txt (equivalent a -key 0). Pour une valeur 1 le fichier 
  572. key1.txt est selectionne, pour la valeur 2 c'est le fichier key2.txt qui est 
  573. choisi, et ainsi de suite.
  574.  
  575.  
  576.  
  577. -----------------------------------------------------------------------------
  578. Ajustements durant le fonctionnement :
  579. -----------------------------------------------------------------------------
  580. Il est possible d'ajuster certains parametres dynamiquement durant le 
  581. fonctionnement de PcTV.
  582.  
  583. Voici la liste des commandes disponibles :
  584.  
  585. - touches 1 et 3 : ajustement du niveau de couleur,
  586.  
  587. - touches 2 et 8 : balance des couleurs,
  588.  
  589. - touches 4 et 6 : ajustement du contraste,
  590.  
  591. - touches 7 et 8 : ajustement de la luminosite,
  592.  
  593. - touches Q et S : permet d'ajuster le delai de recherche de la salve de 
  594. "color burst". Cela permet d'eliminer ou d'attenuer les lignes bleues ou 
  595. rouges provoquees par l'utilisation de cles qui perturbent la sequence de 
  596. chrominance.
  597.  
  598. - touche TAB : passage au prochain canal memorise (voir les options -chan1 a 
  599. -chan20)
  600.  
  601. - touches W et X : ajustement de la frequence syntonisee sur le tuner (-1 Mhz 
  602. pour W, +1 Mhz pour X)
  603.  
  604. - touches C et V : meme action mais avec des pas de 1/16 Mhz (reglage fin)
  605.  
  606. - touches B et N : recherche automatique de canaux (en arriere pour B, en 
  607. avant pour N). La led "Scroll" du clavier clignote durant la recherche 
  608. (amusant non ?). La recherche s'arrete des qu'une chaine est trouvee. Pour 
  609. l'arreter avant, il suffit d'appuyer sur n'importe quelle touche (ce qui 
  610. ramenera de plus au canal initial).
  611.  
  612. - touche A : affichage d'une mire TV en couleurs. Permet de verifier le bon 
  613. fonctionnement de la carte BT848 lorsque aucune image n'apparait.
  614.  
  615. - touche Z : commutation en mode "luminance etendue". Cela permet d'obtenir 
  616. des images plus contrastees. Cette touche est equivalente au parametre -
  617. btrange.
  618.  
  619. - touche E : commutation de la suppression de la correction gamma. Cela 
  620. permet d'obtenir des images plus contrastees a condition d'agir ensuite sur 
  621. le contraste et la luminosite. Cette touche est equivalente au parametre -
  622. btgamma.
  623.  
  624. - touche R : utilisation du filtre de dithering (flou) horizontal (4 filtres 
  625. possibles). L'ajout d'un filtrage important permet de compenser efficacement 
  626. les problemes dus a une mauvaise reception video, ou a l'inverse de rendre 
  627. l'image tres nette dans le cas d'une excellente reception. Cette touche est 
  628. equivalente au parametre -btfilt.
  629.  
  630. - touche T : modification du registre de coring (seuillage du noir). Cette 
  631. touche est equivalente au parametre -btcore.
  632.  
  633. - touche Y : modification du "pixel step". Cette touche est equivalente au 
  634. parametre -step.
  635.  
  636. - touche U : commutation du filtre de luminance (image plus ou moins nette).
  637.  
  638. - touche I : changement du mode "double scan". Cette touche est equivalente 
  639. au parametre -dscan.
  640.  
  641. - touche O : cropping manuel de l'image. Diminue/augmente la taille verticale 
  642. de l'image (bandes noires en haut et en bas).
  643.  
  644. - touche BACKSPACE : choix de la phase de couleur pour le mode video 3 (voir 
  645. l'option -vmode 3).
  646.  
  647. - barre ESPACE : arret sur image (pour montrer a maman).
  648.  
  649. - touche RETURN : commuation entre les modes decodage et previsualisation.
  650.  
  651. - touche ESC : sortie.
  652.  
  653. Les parametres suivants ne fonctionnent que si le mode audio est active (-
  654. amode 1 ou plus) :
  655.  
  656. - touche 5 : modification du gain d'entree de la carte audio. Cette touche 
  657. est equivalente au parametre -gain
  658.  
  659. - touche * : changement de mode audio. Cette touche est equivalente au 
  660. parametre -amode.
  661.  
  662. - touche / : changement de source audio. Cette touche est equivalente au 
  663. parametre -asrc. Ne fonctionne qu'en mode tuner (pas en mode -tuner 0)
  664.  
  665. - touches - et + : ajustement du volume. Cette touche est equivalente au 
  666. parametre -vol.
  667.  
  668. - touches D et F : ajustement des graves (respectivement - et +). Cette 
  669. touche est equivalente au parametre -bass.
  670.  
  671. - touches G et H : ajustement des aigus (respectivement - et +). Cette touche 
  672. est equivalente au parametre -treble.
  673.  
  674. - touches J et K : ajustement de la frequence d'echantillonnage par pas de 16 
  675. (uniquement avec -amode 3). Ces touches sont equivalentes au parametre -
  676. ashift.
  677.  
  678. - touches L et M : meme action mais avec un pas de 1 (reglage fin).
  679.  
  680.